const Koa = require('koa');
const session = require('koa-session')
const app = new Koa();
app.keys = ['3d4bw2d34s342dwer'];
const CONFIG = {
    key:'joa.sess',
    maxAge:1000 * 10000,
    autoCommit:true, // 是否自动生成请求头
    overwrite:true,
    httpOnly:true,
    signed:true,
    rolling:false,
    renew:true,
    secure:false, // 需要https
    sameSite:null
}
app.use(session(CONFIG,app)); // 启动挂载session 中间件
// node 开发模式 mvc中间件服务 req middlewares res
// 统计访问网站的次数  
app.use(ctx => {
    if(ctx.path === '/login') {
        // controller username password
        // 验证身份通过
        ctx.session.isLogged = true
        // session_id 唯一的去标记当前用户 用户状态就有了  
        // 基于cookie , 自动的去新建了cookie session_id,res 用户端也有了cookie
        // cookie 每次http请求都带上  
        // 再次来到服务器的时候，session 中间件，在router中间件之前就加载的
        // cookie session_id session key value 取出我们的会话对象
    } else if(ctx.path === '/loginout') {
        ctx.session.isLogged = false
    }
    let n = ctx.session.views || 0;
    ctx.session.views = ++n;
    ctx.body = `${n} views ${ctx.session.isLogged}`
    // ctx.body = ctx.session.isLogged;
})
app.listen(1314);